#ifndef LOWPOLY_WATER_SAMPLE_H
#define LOWPOLY_WATER_SAMPLE_H
#include "SampleBase.h"
#include "glslprogram.h"
#include "plane.h"
#include <glm\glm.hpp>
namespace ShaderLab {
	// low poly water
	class LowPolyWaterSample : public SampleBase {
	public:
		LowPolyWaterSample();
		~LowPolyWaterSample();

		void Init();
		void Update(float time);
		void Render();
		void Imgui();
		void ShutDown();
	private:
		void CreateShader();
	private:
		GLSLProgram program;
		Plane plane;
		float angle;
		float time;

		glm::mat4 model, view, projection;
		// wave
		float height, velocity, freq;
		// noise
		float noiseTilling, noiseSpeed, noiseSacle;
		glm::vec3 waterColor;
	};
}
#endif // !TEMPLATE_SAMPLE_H
